草庐IT

node.js - 找不到模块 \'express-session\'

全部标签

ruby-on-rails - 在 Rails 应用程序中使用模块建模

我有一个模型需要从辅助源加载外部数据。存在许多Web服务,我的模型可以从中获取数据(可交换),但我不想创建会使更改服务变得困难的代码(成本因可变和固定使用而显着不同,并且可能会改变将是必需的)。我想创建一个驱动程序来执行交互(然后如果服务需要切换,则创建更多自定义驱动程序)。不幸的是,由于驱动程序和模型的紧密耦合,将代码提取到插件或gem中没有意义。我已将所有代码提取到一个模块中(参见示例),目前已在我的模型上方声明了代码。moduleSynchronizedefrefreshself.attributes=...self.saveendendclassDataRails(3.0.0)

ruby-on-rails - 在任何来源中都找不到 rake-10.0.4 (Bundler::GemNotFound)

我最近一直在尝试在服务器上运行我的ruby​​应用程序,但我一直遇到这个错误:Couldnotfindrake-10.0.4inanyofthesources(Bundler::GemNotFound)我正在运行Rails3.2.12和Ruby1.9.3p392。到目前为止,我在访问服务器时没有遇到任何问题,这是我第一次遇到这种错误。我曾尝试四处寻找答案,但由于我对ruby​​和rails还比较陌生,所以找不到简单易懂的答案。gem文件:source'http://rubygems.org'#STANDARDSETOFGEMS,SEEBOTTOMOFFILEFORALISTOFOTHE

ruby-on-rails - 使用基类与基模块重构 ActiveRecord 模型

A类和B类是相同的:classA像这样用基类进行重构有什么区别:classBase与这样使用基本模块:moduleBasedeffooputs"foo"endendclassA一种方式优于另一种方式吗? 最佳答案 这两种方法之间存在根本区别,所有其他答案都缺失,那就是Rails对STI(单表继承)的实现:http://api.rubyonrails.org/classes/ActiveRecord/Base.html(找到“单表继承”部分)基本上,如果您像这样重构您的基类:classBase然后,您应该有一个名为“bases”的数据

ruby - 包含模块时 __callee__ 的意外值——这是 Ruby 错误吗?

当通过alias_method创建的方法调用时,__callee__忽略旧方法的名称(此处为xxx)并返回新方法,如下:classFoodefxxx()__callee__endalias_method:foo,:xxxendFoo.new.foo#=>:foo即使xxx是从父类(superclass)继承的,这种行为仍然存在:classSupdefxxx()__callee__endendclassBar:bar鉴于以上两者,我希望当通过模块包含xxx时,同样的行为会发生。然而,事实并非如此:moduleModdefxxx()__callee__endendclassBazinclu

ruby - 以编程方式设置 Rack session cookie 过期

我正在使用Rack尝试在我的Sinatra应用程序中实现“记住我”功能。我可以将sessioncookie设置为在session结束时或X秒后过期,但我想同时执行这两种操作。例如,如果用户点击了“记住我”,那么我希望他们的session在X秒后结束。例如,我的app.rb有一行看起来像这样:useRack::Session::Cookie,:expire_after=>2592000,#30daysinseconds:secret=>MY_SECRET我尝试在用户登录时执行以下操作:if(!remember_me)env['rack.session.options'][:expire_

ruby-on-rails - Capistrano v3 找不到 Bundler

我在使用Capistranov3部署我的应用程序时遇到问题。当我运行“$capproductiondeploy”时,我看到一个错误...INFO[825ad68d]Running/usr/bin/envbundle--gemfile/home/username/www/myapp/releases/20131026181031/Gemfile--path/home/username/www/myapp/shared/bundle--deployment--quiet--binstubs/home/username/www/myapp/shared/bin--withoutdevelop

ruby 1.9 : Regular Expressions with unknown input encoding

在输入编码未知的Ruby1.9中,是否有一种公认的方法来处理正则表达式?假设我的输入恰好是UTF-16编码的:x="foobarbaz"y=x.encode('UTF-16LE')re=/(.*)/x.match(re)=>#bar"1:"bar">y.match(re)Encoding::CompatibilityError:incompatibleencodingregexpmatch(US-ASCIIregexpwithUTF-16LEstring)我目前的方法是在内部使用UTF-8并在必要时重新编码(副本)输入:ify.methods.include?(:encode)#Rub

ruby - 在 `Rack::Session::Pool` 上使用 `Rack::Session::Cookie`

Rack::Session::Pool有哪些不同的用例?和Rack::Session::Cookie?据我了解(如果我错了请纠正我):Cookie将所有session键值对直接存储在cookie中(编码)Pool仅在cookie中存储一个id,并在@pool中维护session哈希的其余部分那么:选择一个而不是另一个的含义/原因是什么?什么是@pool?为什么Pool需要公开与Cookie不同的公共(public)接口(interface)?为什么文档如此缺乏? 最佳答案 你是对的,Session::Cookie在cookie中编码

Ruby 在模型中包含模块的单一方法

我有一个关注模块moduleSimpleTaskdeftask1enddeftask2enddeftask3endend我有一个模型,它只需要SimpleTask模块的task2方法。我知道在我的模型中包含SimpleTask和includeSimpleTask会完成这项工作。但我想知道我是否只能在我的模型中包含特定的task2方法。 最佳答案 听起来您需要将#task2重构为一个单独的模块(例如,BaseTask)。然后,您可以轻松地只包含BaseTask,您只需要#task2。moduleBaseTaskdeftask2...e

ruby-on-rails - 找不到“twitter/bootstrap/responsive.less”

我正在尝试将我的应用程序移动到另一台服务器,但我目前遇到以下错误。'twitter/bootstrap/responsive.less'wasn'tfound(in/home/rails/**/app/assets/stylesheets/bootstrap_and_overrides.css.less)我的gemfile中没有:assetsblock——因此之前针对此问题的解决方案不适用于我的情况。这是我的Gemfilesource'https://rubygems.org'#BundleedgeRailsinstead:gem'rails',github:'rails/rails'